Browse: 🏠 · Solutions · Connectors · Methods · Tables · Content · Parsers · ASIM Parsers · ASIM Products · Logic Apps · 📊
| Attribute | Value |
|:----------|:------|
| Connector ID | BitSight |
| Publisher | BitSight Technologies, Inc. |
| Used in Solutions | BitSight |
| Collection Method | Azure Function |
| Connector Definition Files | BitSight_API_FunctionApp.json |
| Ingestion API | Log Ingestion API — Sibling ARM template declares DCR / Log Ingestion API resources|Azure Function code contains both Log Ingestion API and HTTP Data Collector API patterns |
The BitSight Data Connector supports evidence-based cyber risk monitoring by bringing BitSight data in Microsoft Sentinel.
This connector ingests data into the following tables:
| Table | Transformations | Ingestion API | Lake-Only |
|---|---|---|---|
BitsightAlerts_data_CL |
? | ✓ | ? |
BitsightBreaches_data_CL |
? | ✓ | ? |
BitsightCompany_details_CL |
? | ✓ | ? |
BitsightCompany_rating_details_CL |
? | ✓ | ? |
BitsightDiligence_historical_statistics_CL |
? | ✓ | ? |
BitsightDiligence_statistics_CL |
? | ✓ | ? |
BitsightFindings_data_CL |
? | ✓ | ? |
BitsightFindings_summary_CL |
? | ✓ | ? |
BitsightGraph_data_CL |
? | ✓ | ? |
BitsightIndustrial_statistics_CL |
? | ✓ | ? |
BitsightObservation_statistics_CL |
? | ✓ | ? |
💡 Tip: Tables with Ingestion API support allow data ingestion via the Azure Monitor Data Collector API, which also enables custom transformations during ingestion.
Resource Provider Permissions:
Custom Permissions:
⚠️ Note: These instructions were automatically generated from the connector's user interface definition file using AI and may not be fully accurate. Please verify all configuration steps in the Microsoft Sentinel portal.
NOTE: This connector uses Azure Functions to connect to the BitSight API to pull its logs into Microsoft Sentinel. This might result in additional data ingestion costs. Check the Azure Functions pricing page for details.
(Optional Step) Securely store workspace and API authorization key(s) or token(s) in Azure Key Vault. Azure Key Vault provides a secure mechanism to store and retrieve key values. Follow these instructions to use Azure Key Vault with an Azure Function App.
STEP 1 - Steps to Create/Get Bitsight API Token
Follow these instructions to get a BitSight API Token.
STEP 2 - App Registration steps for the Application in Microsoft Entra ID
This integration requires an App registration in the Azure portal. Follow the steps in this section to create a new application in Microsoft Entra ID:
Reference link: https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app
STEP 3 - Add a client secret for application in Microsoft Entra ID
Sometimes called an application password, a client secret is a string value required for the execution of BitSight Data Connector. Follow the steps in this section to create a new Client Secret:
Reference link: https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app#add-a-client-secret
STEP 4 - Get Object ID of your application in Microsoft Entra ID
After creating your app registration, follow the steps in this section to get Object ID:
STEP 5 - Assign role of Contributor to application in Microsoft Entra ID
Follow the steps in this section to assign the role:
User, group, or service principal.Reference link: https://learn.microsoft.com/azure/role-based-access-control/role-assignments-portal
STEP 6 - Choose ONE from the following two deployment options to deploy the connector and the associated Azure Function
IMPORTANT: Before deploying the BitSight data connector, have the Workspace ID and Workspace Primary Key (can be copied from the following) readily available.., as well as the BitSight API Token.
WorkspaceIdNote: The value above is dynamically provided when these instructions are presented within Microsoft Sentinel.
PrimaryKeyNote: The value above is dynamically provided when these instructions are presented within Microsoft Sentinel.
7. Option 1 - Azure Resource Manager (ARM) Template
Use this method for automated deployment of the BitSight connector.
Click the Deploy to Azure button below.
Select the preferred Subscription, Resource Group and Location.
Enter the below information :
a. FunctionName - Name of the Azure Function App to be created. Default is BitSight.
b. API_token - Enter API Token of your BitSight account.
c. Azure_Client_Id - Enter Azure Client Id that you have created during app registration.
d. Azure_Client_Secret - Enter Azure Client Secret that you have created during creating the client secret.
e. Azure_Tenant_Id - Enter Azure Tenant Id of your Microsoft Entra ID.
f. Azure_Entra_Object_Id - Enter Object id of your Microsoft Entra App.
g. Companies - Please add valid company names separated by asterisk(). For example: Actors FilmsGoliath Investments LLCHCL GroupSaperix, Inc.
h. Location - The location in which the data collection rules and data collection endpoints should be deployed.
i. WorkspaceName - Log analytics workspace name. Can be found under Log analytics "Settings".
j. Portfolio_Companies_Table_Name - Name of the table to store portfolio companies. Default is BitsightPortfolio_Companies. Please do not keep this field as empty else you will get validation error.
k. Alerts_Table_Name - Name of the table to store alerts. Default is BitsightAlerts_data. Please do not keep this field as empty else you will get validation error.
l. Breaches_Table_Name - Name of the table to store breaches. Default is BitsightBreaches_data. Please do not keep this field as empty else you will get validation error.
m. Company_Table_Name - Name of the table to store company details. Default is BitsightCompany_details. Please do not keep this field as empty else you will get validation error.
n. Company_Rating_Details_Table_Name - Name of the table to store company rating details. Default is BitsightCompany_rating_details. Please do not keep this field as empty else you will get validation error.
o. Diligence_Historical_Statistics_Table_Name - Name of the table to store diligence historical statistics. Default is BitsightDiligence_historical_statistics. Please do not keep this field as empty else you will get validation error.
p. Diligence_Statistics_Table_Name - Name of the table to store diligence statistics. Default is BitsightDiligence_statistics. Please do not keep this field as empty else you will get validation error.
q. Findings_Summary_Table_Name - Name of the table to store findings summary. Default is BitsightFindings_summary. Please do not keep this field as empty else you will get validation error.
r. Findings_Table_Name - Name of the table to store findings data. Default is BitsightFindings_data. Please do not keep this field as empty else you will get validation error.
s. Graph_Table_Name - Name of the table to store graph data. Default is BitsightGraph_data. Please do not keep this field as empty else you will get validation error.
t. Industrial_Statistics_Table_Name - Name of the table to store industrial statistics. Default is BitsightIndustrial_statistics. Please do not keep this field as empty else you will get validation error.
u. Observation_Statistics_Table_Name - Name of the table to store observation statistics. Default is BitsightObservation_statistics. Please do not keep this field as empty else you will get validation error.
v. LogLevel - Select log level or log severity value from DEBUG, INFO, ERROR. By default it is set to INFO.
w. Schedule - Please enter a valid Quartz cron-expression. (Example: 0 0 * * * *).
x. Schedule_Portfolio - Please enter a valid Quartz cron-expression. (Example: 0 */30 * * * *).
y. AppInsightsWorkspaceResourceID - Use 'Log Analytic Workspace-->Properties' blade having 'Resource ID' property value. This is a fully qualified resourceId which is in format '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}'.
Once all application settings have been entered, click Review + create to deploy..
8. Option 2 - Manual Deployment of Azure Functions
Use the following step-by-step instructions to deploy the BitSight data connector manually with Azure Functions (Deployment via Visual Studio Code).
1. Deploy a Function App
NOTE: You will need to prepare VS code for Azure function development.
Download the Azure Function App file. Extract archive to your local development computer.
Start VS Code. Choose File in the main menu and select Open Folder.
Select the top level folder from extracted files.
Choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose the Deploy to function app button. If you aren't already signed in, choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose Sign in to Azure If you're already signed in, go to the next step.
Provide the following information at the prompts:
a. Select folder: Choose a folder from your workspace or browse to one that contains your function app.
b. Select Subscription: Choose the subscription to use.
c. Select Create new Function App in Azure (Don't choose the Advanced option)
d. Enter a globally unique name for the function app: Type a name that is valid in a URL path. The name you type is validated to make sure that it's unique in Azure Functions. (e.g. BitSightXXXXX).
e. Select a runtime: Choose Python 3.8 or above.
f. Select a location for new resources. For better performance and lower costs choose the same region where Microsoft Sentinel is located.
Deployment will begin. A notification is displayed after your function app is created and the deployment package is applied.
Go to Azure Portal for the Function App configuration.
2. Configure the Function App
In the Function App, select the Function App Name and select Configuration.
In the Application settings tab, select + New application setting.
Add each of the following application settings individually, with their respective values (case-sensitive):
a. FunctionName - Name of the Azure Function App to be created. Default is BitSight.
b. API_token - Enter API Token of your BitSight account.
c. Azure_Client_Id - Enter Azure Client Id that you have created during app registration.
d. Azure_Client_Secret - Enter Azure Client Secret that you have created during creating the client secret.
e. Azure_Tenant_Id - Enter Azure Tenant Id of your Microsoft Entra ID.
f. Azure_Entra_Object_Id - Enter Object id of your Microsoft Entra App.
g. Companies - Please add valid company names separated by asterisk(). For example: Actors FilmsGoliath Investments LLCHCL GroupSaperix, Inc.
h. Location - The location in which the data collection rules and data collection endpoints should be deployed.
i. WorkspaceName - Log analytics workspace name. Can be found under Log analytics "Settings".
j. Portfolio_Companies_Table_Name - Name of the table to store portfolio companies. Default is BitsightPortfolio_Companies. Please do not keep this field as empty else you will get validation error.
k. Alerts_Table_Name - Name of the table to store alerts. Default is BitsightAlerts_data. Please do not keep this field as empty else you will get validation error.
l. Breaches_Table_Name - Name of the table to store breaches. Default is BitsightBreaches_data. Please do not keep this field as empty else you will get validation error.
m. Company_Table_Name - Name of the table to store company details. Default is BitsightCompany_details. Please do not keep this field as empty else you will get validation error.
n. Company_Rating_Details_Table_Name - Name of the table to store company rating details. Default is BitsightCompany_rating_details. Please do not keep this field as empty else you will get validation error.
o. Diligence_Historical_Statistics_Table_Name - Name of the table to store diligence historical statistics. Default is BitsightDiligence_historical_statistics. Please do not keep this field as empty else you will get validation error.
p. Diligence_Statistics_Table_Name - Name of the table to store diligence statistics. Default is BitsightDiligence_statistics. Please do not keep this field as empty else you will get validation error.
q. Findings_Summary_Table_Name - Name of the table to store findings summary. Default is BitsightFindings_summary. Please do not keep this field as empty else you will get validation error.
r. Findings_Table_Name - Name of the table to store findings data. Default is BitsightFindings_data. Please do not keep this field as empty else you will get validation error.
s. Graph_Table_Name - Name of the table to store graph data. Default is BitsightGraph_data. Please do not keep this field as empty else you will get validation error.
t. Industrial_Statistics_Table_Name - Name of the table to store industrial statistics. Default is BitsightIndustrial_statistics. Please do not keep this field as empty else you will get validation error.
u. Observation_Statistics_Table_Name - Name of the table to store observation statistics. Default is BitsightObservation_statistics. Please do not keep this field as empty else you will get validation error.
v. LogLevel - Select log level or log severity value from DEBUG, INFO, ERROR. By default it is set to INFO.
w. Schedule - Please enter a valid Quartz cron-expression. (Example: 0 0 * * * *).
x. Schedule_Portfolio - Please enter a valid Quartz cron-expression. (Example: 0 */30 * * * *).
y. AppInsightsWorkspaceResourceID - Use 'Log Analytic Workspace-->Properties' blade having 'Resource ID' property value. This is a fully qualified resourceId which is in format '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}'.
Once all application settings have been entered, click Save.
📄 Source: [BitSight\Data Connectors\BitSightDataConnector\README.md](https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/BitSight\Data Connectors\BitSightDataConnector\README.md)
This folder contains the Azure function time trigger code for BitSight Data Connector. The connector will run periodically and ingest the BitSight data into the Microsoft Sentinel logs custom tables.
The BitSight Data Connector supports evidence-based cyber risk monitoring by bringing BitSight data in Microsoft Sentinel.
BitSightDataConnector/ - This contains the package, requirements, ARM JSON file, connector page template JSON, and other dependencies.AlertsGraphStatisticsDetails/ - This contains the Azure function source code to ingest the data of below mentioned endpoints.BreachesDetails/ - This contains the Azure function source code to ingest the data of below mentioned endpoint.CompaniesDetails/ - This contains the Azure function source code to ingest the data of below mentioned endpoint.FindingsDetails/ - This contains the Azure function source code to ingest the data of below mentioned endpoint.FindingsSummaryDetails/ - This contains the Azure function source code to ingest the data of below mentioned endpoint.PortFolioCompanies/ - This contains azure function source code to ingest the data of companies available in Portfolio which will be used by other functions to retrieve various details for each company.SharedCode/ - This contains the constants, logger, exceptions and common methods used in each azure function.Follow these instructions to get a BitSight API Token
This integration requires an App registration in the Azure portal. Follow the steps in this section to create a new application in Microsoft Entra ID:
Sometimes called an application password, a client secret is a string value required for the execution of BitSight Data Connector. Follow the steps in this section to create a new Client Secret:
Follow the steps in this section to assign the role:
After the solution is published, we can find the connector in the connector gallery of Microsoft Sentinel among other connectors in Data connectors section of Sentinel.
i. Go to Microsoft Sentinel -> Data Connectors
ii. Click on the BitSight Data Connector, connector page will open.
iii. Click on the blue Deploy to Azure button.
It will lead to a custom deployment page where after user need to select Subscription, Resource Group and Location. And need to enter below information to configure BitSight Data Connector.
| User Inputs | Default Value |
|---|---|
| Function Name | BitSight |
| API_token | None |
| Azure_Client_Id | None |
| Azure_Client_Secret | None |
| Azure_Tenant_Id | None |
| Companies | ALL |
| Workspace ID | None |
| Workspace Key | None |
| Portfolio_Companies_Table_Name | Portfolio_Companies |
| Alerts_Table_Name | Alerts_data |
| Breaches_Table_Name | BitsightBreaches_data |
| Company_Table_Name | BitsightCompany_details |
| Company_Rating_Details_Table_Name | BitsightCompany_rating_details |
| Diligence_Historical_Statistics_Table_Name | BitsightDiligence_historical_statistics |
| Diligence_Statistics_Table_Name | BitsightDiligence_statistics |
| Findings_Summary_Table_Name | BitsightFindings_summary |
| Findings_Table_Name | BitsightFindings_data |
| Graph_Table_Name | BitsightGraph_data |
| Industrial_Statistics_Table_Name | BitsightIndustrial_statistics |
| Observation_Statistics_Table_Name | BitsightObservation_statistics |
| Log Level | INFO |
| Schedule | 0 0 * * * * |
| Schedule_Portfolio | 0 */30 * * * * |
The connector should start ingesting the data into the logs at every time interval specified in Schedule during configuration.
i. Log in to Azure portal using the URL - Azure Portal-Home.
ii. Go to Microsoft Sentinel -> Data Connectors
iii. Click the “import” button at the top and select the json file BitSight_API_FunctionApp.json downloaded on your local machine from Github.
iv. This will load the connector page and rest of the process will be same as the Installing for users guideline above.
Each invocation and its logs of the function can be seen in Function App service of Azure, available in the Azure Portal outside the Microsoft Sentinel.
i. Go to Function App and click on the function which you have deployed, identified with the given name at the deployment stage.
ii. Go to Functions -> Any of our function -> Monitor
iii. By clicking on invocation time, you can see all the logs for that run.
Note: Furthermore we can check logs in Application Insights of the given function in detail if needed. We can search the logs by operation ID in Transaction search section.
Browse: 🏠 · Solutions · Connectors · Methods · Tables · Content · Parsers · ASIM Parsers · ASIM Products · Logic Apps · 📊